home *** CD-ROM | disk | FTP | other *** search
- Please note that the behavior documented here (from Sodipodi) should be considered a bug.
-
- Inkscape should switch to the native SVG coordinate system.
-
- -mental
-
- Coordinate systems used by sodipodi
-
- 1. Desktop coordinates
-
- Are the base coordinate system of all editing, UI etc.
- i.e. the ones user is directly seeing (maybe some time
- we'll make this configurable).
-
- 0,0 is at lower-left
- X grows to the right
- Y grows upwards
- Only valid units are real-world ones (mm, cm...) - i.e.
- there is no such unit as pixel etc.
- If printed, 1 desktop mm should be 1mm on paper
-
- 2. Document coordinates
-
- As we all know, SVG Y grows downwards. So document is
- placed at 0,HEIGHT, mirrored vertically, where HEIGHT
- is vieport height in desktop coordinates.
- Moreover SVG coordinate space is scaled by 0.8, so
- 1mm in SVG space equals 1mm in desktop space.
-
- The full matrix looks like:
-
- [ 0.8 0.0 0.0 ]
- [ 0.0 -0.8 HEIGHT ]
-
- Where height equals SVG viewport height in real units
- i.e. if viewport is 210mmx297mm HEIGHT is also 297mm.
-
- Document coordinates are stored in desktop object,
- as doc2dt[] matrix, and not directly accessible to
- document itself. I.e. document renders it just as any
- normal SVG viewer should do.
-
- Technically SVG placement is achieved by specifying
- doc2dt transform to drawing parent canvas group.
-
- 3. user coordinates
-
- These are as specified by SVG spec.
- 1 px == 1 user unit
- 1 pt == 1.25 px
- etc.
-
- 31/08/2002 Lauris Kaplinski <lauris@kaplinski.com>
-